/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;

import Facade.QuemaFacade;
import VO.QuemaVO;
import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
import vista.QuemaBean;

/**
 *
 * @author szuniga
 */
public class RegistrarQuemaAction extends org.apache.struts.action.Action {

    /* forward name="success" path="" */
    private final static String SUCCESS = "success";
    private final static String FAILURE = "failure";

    /**
     * This is the action called from the Struts framework.
     * @param mapping The ActionMapping used to select this instance.
     * @param form The optional ActionForm bean for this request.
     * @param request The HTTP Request we are processing.
     * @param response The HTTP Response we are processing.
     * @throws java.lang.Exception
     * @return
     */
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        QuemaBean frm = (QuemaBean) form;
        QuemaVO nuevaQuema = new QuemaVO();
        QuemaFacade fcdQuema = new QuemaFacade();

        Vector resultado3 = fcdQuema.cargarRutQuema();



        if ((frm.getRutVoluntario().length() < 1) || frm.getRutSolicitante().isEmpty() || frm.getNombreSolicitante().isEmpty() || frm.getHoraQuema().isEmpty() || frm.getDireccionSolicitante().isEmpty() || frm.getApellidosSolicitante().isEmpty() || frm.getDireccionLugarQuema().isEmpty() || frm.getTipoMaterialQuema().isEmpty()) {
            String aviso = "<span style='color:red;font-weight:bold'>Debe ingresar todos los campos</span>";
            request.setAttribute("rutVoluntarios", resultado3);
            request.setAttribute("aviso", aviso);
            return mapping.findForward(FAILURE);
        } else {


            nuevaQuema.setRutVoluntario(frm.getRutVoluntario());
            nuevaQuema.setRutSolicitante(frm.getRutSolicitante());
            nuevaQuema.setNombreSolicitante(frm.getNombreSolicitante());
            nuevaQuema.setApellidosSolicitante(frm.getApellidosSolicitante());
            nuevaQuema.setDireccionSolicitante(frm.getDireccionSolicitante());
            nuevaQuema.setDireccionLugarQuema(frm.getDireccionLugarQuema());
            nuevaQuema.setTipoMaterialQuema(frm.getTipoMaterialQuema());
            nuevaQuema.setHoraQuema(frm.getHoraQuema());

            if (frm.validaRut(frm.getRutSolicitante()))
            {
                boolean resultado = fcdQuema.registrarQuema(nuevaQuema);

                QuemaFacade fcdQuema2 = new QuemaFacade();
                Vector resultado2 = fcdQuema2.cargarRutQuema();

                request.setAttribute("rutVoluntarios", resultado2);

                if (resultado) {
                    String aviso = "<span style='color:green;font-weight:bold'>Quema Registrada Exitosamente</span>";
                    request.setAttribute("aviso", aviso);
                    return mapping.findForward(SUCCESS);
                } else {
                    return mapping.findForward(FAILURE);
                }
            } else {
                QuemaFacade fcdQuema2 = new QuemaFacade();
                Vector resultado2 = fcdQuema2.cargarRutQuema();

                request.setAttribute("rutVoluntarios", resultado2);
                String aviso2 = "<span style='color:red;font-weight:bold'>Rut Inválido</span>";
                request.setAttribute("avisoRut", aviso2);
                return mapping.findForward(SUCCESS);
            }
        }
    }
}
